<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>延时响应</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            border: 1px solid blue;
        }
    </style>
</head>

<body>
    <button>点击发送请求</button>
    <div></div>
</body>
<script>
    const btn = document.querySelector('button');
    const div = document.querySelector('div');
    btn.onclick = function() {
        const xhr = new XMLHttpRequest();
        // 超时设置
        xhr.timeout = 2000;
        // 超时回调
        xhr.ontimeout = function() {
            alert('网络异常,请稍后重试！');
        }
        xhr.onerror = function() {
            alert('检测到您的网络未连接,请连接后重新访问！')
        }
        xhr.open('GET', 'http://127.0.0.1:8000/delay');
        xhr.send();
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4) {
                if (xhr.status >= 200 && xhr.status < 300) {
                    div.innerHTML = xhr.response;
                }
            }
        }
    }
</script>

</html>